Skip to content

4.0.0-alpha-12 candidate - #222

Merged
bogovicj merged 41 commits into
masterfrom
development
Apr 7, 2026
Merged

4.0.0-alpha-12 candidate#222
bogovicj merged 41 commits into
masterfrom
development

Conversation

@bogovicj

@bogovicj bogovicj commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

No description provided.

cmhulbert and others added 30 commits March 30, 2026 15:56
Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
…nnel when an exception is thrown during `close()`
* getBlockSize should correspond to readBlock / writeBlock
* useful to have an analogue for readChunk / writeChunk
* that deletes blocks or chunks
* add clarifying javadoc
* test blockSize == chunkSize when not sharded
* fix block / chunk equivalence test and comments
createDatasetAccess() can be private because we don't override it
anywhere. (Maybe we did previously in n5-zarr?)

getDatasetAccess() has to be protected for tests only.
It is better for tests to use the canonical DatasetAccess instead of
creating a separate one, as they did before using createDatasetAccess()
…g via FileChannel.

fix: ensure parent directories exist before writing file for Unsafe
Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
…ust specify the TRUNCATE_EXISTING OpenOption. It is much faster

Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
…ry (isFile -> throws, null -> creates)

Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
…writes that also fail on closing the file. It's a bit more involved, since we need to flush the write operation, but the logic is the same as for read

Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
tpietzsch and others added 11 commits April 7, 2026 13:50
This is in preparation for implementing prefetch() for cloud storage
backends...
…ment

feat: use the aggregate/prefetch logic with VolatileReadData.

By default, `VolatileReadData.from` now uses AggregatingSliceTrackingLazyRead. This is useful to ensure the default VolatileReadData behaves reasonably even for reading many chunks from the same shard.
The wrapped volatileReadData is closed via the wrapper chain
LazyReadData -> AggregatingSliceTrackingLazyRead -> TrackingLazyRead ->
volatileReadData

No need for DelegatingVolatileReadData.
It doesn't do any prefetching, just keeps track of what has been
materialized (and uses that to avoid materializing slices that are
already fully covered).
instead of "...SliceTracking..." which is not their main feature
@bogovicj
bogovicj merged commit 4361b26 into master Apr 7, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants